#ifndef MANAGER_H
#define MANAGER_H

/*
 ******************************
 * Object Oriented Programming in C
 *
 * Author: Laurent Deniau, Laurent.Deniau@cern.ch
 *
 * For more information, please see the paper:
 * http://home.cern.ch/ldeniau/html/oopc/oopc.html
 *
 ******************************
 */

#include <employee.h>
#include <education.h>

/*---------------------------*/
/*     manager interface     */
/*    derive from employee   */
/*   derive from education   */
/*---------------------------*/

#undef  OBJECT
#define OBJECT manager

/* Object interface */
OBJECT_INTERFACE

  INHERIT_MEMBERS_OF (employee);
  INHERIT_MEMBERS_OF (education);
  int private(level);

OBJECT_METHODS

  INHERIT_METHODS_OF (employee);
  INHERIT_METHODS_OF (education);

ENDOF_INTERFACE

/* Class interface */
CLASS_INTERFACE

  t_manager*const classMethod_(new)
     char const name[], char const department[],
     char const diploma[], int level __;
  void method_(init)
     char const name[], char const department[],
     char const diploma[], int level __;
  void method_(copy) t_manager const*const mng __;

ENDOF_INTERFACE

#endif
